package com.witmore.skyline.web.service;

import com.witmore.skyline.web.controller.vo.param.DriverAddParam;
import com.witmore.skyline.web.controller.vo.param.DriverDeleteParam;
import com.witmore.skyline.web.controller.vo.param.DriverListParamVO;
import com.witmore.skyline.web.controller.vo.result.*;

import java.util.List;

/**
 * 驾驶员服务接口
 * 
 * @author 豆子高
 * @since 2025-10-27
 */
public interface DriverService {

    /**
     * 驾驶员列表（分页）
     */
    ResponsePageResult<DriverResultVO> driverListPage(DriverListParamVO param);

    /**
     * 新增/编辑驾驶员
     */
    ResponseResult<Void> saveOrUpdate(DriverAddParam param);

    /**
     * 删除驾驶员
     */
    ResponseResult<Void> delete(DriverDeleteParam param);

    /**
     * 驾驶员详情
     */
    ResponseResult<DriverResultVO> getDetail(Integer id);

    /**
     * 获取可用驾驶员列表（未绑定设备的驾驶员）
     */
    ResponseResult<List<DriverSimpleVO>> getAvailableDriverList(Integer orgId);
}
